import request from '@/utils/request'
import basePath from '../apiConifg'
const qs = require('qs')

// 用户绑定角色 相关 api
/**
 * 获取用户绑定角色列表-(不支持分页参数)
 * @param params
 */
export function list(params) {
  return request({
    url: basePath + '/sys/sys-user-role/list?' + qs.stringify(params, { indices: false }),
    method: 'get'
  })
}
/**
 * 获取用户绑定角色列表-(支持分页参数)
 * @param params
 */
export function page(params) {
  return request({
    url: basePath + '/sys/sys-user-role?' + qs.stringify(params, { indices: false }),
    method: 'get'
  })
}
/**
 * 获取用户绑定角色列表-(支持分页参数)
 * @param params
 */
export function getUsersByRoleId(params) {
  return request({
    url: basePath + '/sys/sys-user-role/getUsersByRoleId?' + qs.stringify(params, { indices: false }),
    method: 'get'
  })
}

/**
 * 获取用户绑定角色列表-(支持分页参数)
 * @param params
 */
export function getUsersByRoleIdNotBind(params) {
  return request({
    url: basePath + '/sys/sys-user-role/getUsersByRoleIdNotBind?' + qs.stringify(params, { indices: false }),
    method: 'get'
  })
}

/**
 * 获取用户绑定角色-id-详情
 * @param params
 */
export function info(id) {
  return request({
    url: basePath + '/sys/sys-user-role/' + id,
    method: 'get'
  })
}

/**
 * 新增角色绑定用户
 * @param params
 */
export function addUserIdsByRoleId(data) {
  return request({
    url: basePath + '/sys/sys-user-role/addUserIdsByRoleId',
    method: 'post',
    data
  })
}

/**
 * 移除角色绑定的用户
 * @param params
 */
export function removeUserIdsByRoleId(data) {
  return request({
    url: basePath + '/sys/sys-user-role/removeUserIdsByRoleId',
    method: 'post',
    data
  })
}
/**
 * 用户绑定角色-新增
 * @param params
 */
export function add(data) {
  return request({
    url: basePath + '/sys/sys-user-role',
    method: 'post',
    data
  })
}
/**
 * 用户绑定角色-删除
 * @param params
 */
export function del(ids) {
  return request({
    url: basePath + '/sys/sys-user-role',
    method: 'delete',
    data: ids
  })
}
/**
 * 用户绑定角色-修改
 * @param params
 */
export function edit(data) {
  return request({
    url: basePath + '/sys/sys-user-role',
    method: 'put',
    data
  })
}

/**
 * 根据指定的用户id，获取用户已经绑定的角色
 * @param params
 */
export function getRolesByUserId(id) {
  return request({
    url: basePath + '/sys/sys-user-role/getRolesByUserId/' + id,
    method: 'get'
  })
}

/**
 * 获取用户在某组织下的角色
 * @param param
 * @returns {AxiosPromise}
 */
export function getRolesByUserAndDep(params) {
  return request({
    url: basePath + '/sys/sys-user-role/getRolesByUserAndDep?' + qs.stringify(params, { indices: false }),
    method: 'get'
  })
}

/**
 * 根据指定的用户id，获取用户已经绑定的角色
 * @param params
 */
export function getRolesBySelf() {
  return request({
    url: basePath + '/sys/sys-user-role/getRolesBySelf',
    method: 'get'
  })
}

export default { add, edit, del, info }
